package cn.com.cpic.insurance.rulecheck.core.rule;

import java.io.Serializable;

import cn.com.cpic.insurance.rulecheck.core.ModifiableMap;

/**
 * 所有规则和规则组的集合
 * 
 * @author 代波
 * @since 2011-8-21
 */
public interface Rules extends Serializable {
	/**
	 * 获得所有规则的集合
	 * 
	 * @return 所有规则的集合
	 */
	ModifiableMap<String, Rule> getRuleSet();

	/**
	 * 获得所有规则组的集合
	 * 
	 * @return 所有规则组的集合
	 */
	ModifiableMap<String, RuleGroup> getRuleGroupSet();

	/**
	 * 获得所有规则消费程序的集合
	 * 
	 * @return 所有规则消费程序的集合
	 */
	ModifiableMap<String, RuleConsumer<?>> getRuleConsumerSet();
}
